package org.mics.organization.service;

import java.util.List;

import org.mics.core.page.PageQuery;
import org.mics.core.response.PageDataResponse;
import org.mics.organization.entity.CompanyDO;
import org.mics.organization.vo.CompanyVO;

/**公司
 * @author mics
 * @date 2023-9-22
 * @version  1.0
 */
public interface CompanyService {

	/**
	 * 创建公司
	 * @author mics
	 * @date 2023-9-22
	 * @version  1.0
	 * @param companyDO 公司
	 * @return 公司id
	 */
	String add(CompanyDO companyDO);
	
	/**
	 * 根据id删除公司
	 * @author mics
	 * @date 2023-9-22
	 * @version  1.0
	 * @param id
	 * @return
	 */
	void delete(String id);

	/**
	 * 公司分页列表
	 * @author mics
	 * @date 2023-9-22
	 * @version  1.0
	 * @param pageQuery
	 * @return
	 */
	PageDataResponse<CompanyVO> listByPage(PageQuery pageQuery);

	/**
	 * 公司列表
	 * @author mics
	 * @date 2023-9-22
	 * @version  1.0
	 * @return
	 */
	List<CompanyDO> list();

	/**
	 * 根据上级公司查询下级公司
	 * @author mics
	 * @date 2023-9-26
	 * @version  1.0
	 * @param companyId
	 * @return
	 */
	List<CompanyDO> findByParentId(String companyId);

}
